Conversation
There was a problem hiding this comment.
Pull request overview
This PR aims to make several application-related dates configurable via settings (instead of hardcoded strings) and to move the “allow project rating” toggle into a dedicated settings section.
Changes:
- Replaced hardcoded status-page dates with values read from
settings.application.*. - Introduced
ProjectSettings/ProjectSettingsDTOto holdallowRatingProjectsoutsideApplicationSettings. - Updated rating/project services and settings UI wiring to use the new settings structure (currently inconsistently keyed).
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/components/settings/project-rating/rating-criteria-settings.tsx | Renames the settings component and changes which settings key is read/written for allowRatingProjects. |
| frontend/src/components/pages/status.tsx | Replaces hardcoded date strings with settings-driven values. |
| frontend/src/components/pages/settings.tsx | Updates import/usage of the renamed project rating settings component. |
| backend/src/services/settings-service.ts | Adds a default factory for the new project settings section. |
| backend/src/services/rating-service.ts | Updates the “rating allowed” permission check to use the new settings location. |
| backend/src/services/project-service.ts | Updates project visibility filtering to use the new settings location. |
| backend/src/entities/settings.ts | Adds embedded ProjectSettings to Settings (currently under a mismatching property name). |
| backend/src/entities/application-settings.ts | Adds new required application date fields. |
| backend/src/controllers/dto.ts | Adds ProjectSettingsDTO but does not yet wire it into SettingsDTO or add new application date fields to ApplicationSettingsDTO. |
Comments suppressed due to low confidence (1)
backend/src/controllers/dto.ts:100
ProjectSettingsDTOreferencesProjectSettings, butProjectSettingsis not imported in this file, so it won’t compile. Import it (e.g., from../entities/settings) and also expose this DTO fromSettingsDTOso the frontend can read/updateallowRatingProjects.
export class ProjectSettingsDTO implements DTO<ProjectSettings> {
@IsBoolean()
@Expose()
public allowRatingProjects!: boolean;
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…figurable-deadlines
There was a problem hiding this comment.
Pull request overview
Adds configurability for key application timeline dates via settings, and updates UI/backend to consume those settings instead of hardcoded values.
Changes:
- Added new application settings dates (
acceptanceDeadline,confirmSpotUntil) and exposed them through DTOs and frontend settings UI. - Updated the status page to render the registration/acceptance/confirmation windows using settings-driven dates.
- Moved “allow rating projects” from application settings into a new
projectsettings section (backend + frontend).
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/util.ts | Allows formatting nullable dates for settings-driven UI output. |
| frontend/src/components/settings/project-rating/rating-criteria-settings.tsx | Switches rating toggle to settings.project and renames exported settings component. |
| frontend/src/components/settings/application/application-settings.tsx | Adds editable inputs for new application date fields and consolidates date update handling. |
| frontend/src/components/pages/status.tsx | Replaces hardcoded dates with values from application settings. |
| frontend/src/components/pages/settings.tsx | Wires the (renamed) project rating settings component into the settings dashboard. |
| frontend/src/api/index.ts | Revives the new date fields to Date objects when fetching settings. |
| backend/src/services/settings-service.ts | Adds default project settings and default values for new application date fields. |
| backend/src/services/rating-service.ts | Gates rating by settings.project.allowRatingProjects instead of application settings. |
| backend/src/services/project-service.ts | Uses settings.project.allowRatingProjects when filtering visible/rateable projects. |
| backend/src/entities/settings.ts | Introduces embedded ProjectSettings and adds it to Settings. |
| backend/src/entities/application-settings.ts | Adds new persisted columns for acceptance/confirmation deadlines. |
| backend/src/controllers/dto.ts | Extends DTOs to include new application date fields and new project settings section. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Application as in "People who apply for the event"